/*
 * Created on 2006-10-10
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package com.hitrust.gs.lib.db;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
import com.hitrust.gs.lib.*;

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
public class MyStatement implements Statement {

	private java.sql.Statement mStm=null;

	/* (non-Javadoc)
	 * @see java.sql.Statement#executeQuery(java.lang.String)
	 */
	public MyStatement(java.sql.Statement stm){
		
		mStm=stm;
		} 

	public ResultSet executeQuery(String sql) throws SQLException {

			
		try
		{
			SQLLogger.log(sql);
			MyResultSet rs= new MyResultSet(mStm.executeQuery(sql));
			SQLLogger.log("Success");
			return rs;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
		
	}
	/* (non-Javadoc)
	 * @see java.sql.Statement#close()
	 */
	public void close() throws SQLException 
	{
		mStm.close();
	}
	/* (non-Javadoc)
	 * @see java.sql.Statement#executeUpdate(java.lang.String)
	 */
	public int executeUpdate(String sql) throws SQLException 
	{
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			int ret = mStm.executeUpdate(sql);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}		
	}



	/* (non-Javadoc)
	 * @see java.sql.Statement#getMaxFieldSize()
	 */
	public int getMaxFieldSize() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getMaxFieldSize();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setMaxFieldSize(int)
	 */
	public void setMaxFieldSize(int max) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setMaxFieldSize(max);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getMaxRows()
	 */
	public int getMaxRows() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getMaxRows();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setMaxRows(int)
	 */
	public void setMaxRows(int max) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setMaxRows(max);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setEscapeProcessing(boolean)
	 */
	public void setEscapeProcessing(boolean enable) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setEscapeProcessing(enable);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getQueryTimeout()
	 */
	public int getQueryTimeout() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getQueryTimeout();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setQueryTimeout(int)
	 */
	public void setQueryTimeout(int seconds) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setQueryTimeout(seconds);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#cancel()
	 */
	public void cancel() throws SQLException {
		// TODO Auto-generated method stub
		mStm.cancel();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getWarnings()
	 */
	public SQLWarning getWarnings() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getWarnings();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#clearWarnings()
	 */
	public void clearWarnings() throws SQLException {
		// TODO Auto-generated method stub
		mStm.clearWarnings();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setCursorName(java.lang.String)
	 */
	public void setCursorName(String name) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setCursorName( name);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#execute(java.lang.String)
	 */
	public boolean execute(String sql) throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			boolean ret = mStm.execute(sql);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getResultSet()
	 */
	public ResultSet getResultSet() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getResultSet();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getUpdateCount()
	 */
	public int getUpdateCount() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getUpdateCount();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getMoreResults()
	 */
	public boolean getMoreResults() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getMoreResults();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setFetchDirection(int)
	 */
	public void setFetchDirection(int direction) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setFetchDirection(direction);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getFetchDirection()
	 */
	public int getFetchDirection() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getFetchDirection();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#setFetchSize(int)
	 */
	public void setFetchSize(int rows) throws SQLException {
		// TODO Auto-generated method stub
		mStm.setFetchSize(rows);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getFetchSize()
	 */
	public int getFetchSize() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getFetchSize();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getResultSetConcurrency()
	 */
	public int getResultSetConcurrency() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getResultSetConcurrency();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getResultSetType()
	 */
	public int getResultSetType() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getResultSetType();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#addBatch(java.lang.String)
	 */
	public void addBatch(String sql) throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			mStm.addBatch(sql);
			SQLLogger.log("Success");
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#clearBatch()
	 */
	public void clearBatch() throws SQLException {
		// TODO Auto-generated method stub
		mStm.clearBatch();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#executeBatch()
	 */
	public int[] executeBatch() throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			int[] ret = mStm.executeBatch();
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getConnection()
	 */
	public Connection getConnection() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getConnection();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getMoreResults(int)
	 */
	public boolean getMoreResults(int current) throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getMoreResults(current);
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getGeneratedKeys()
	 */
	public ResultSet getGeneratedKeys() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getGeneratedKeys();
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#executeUpdate(java.lang.String, int)
	 */
	public int executeUpdate(String sql, int autoGeneratedKeys)
		throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			int ret =  mStm.executeUpdate( sql, autoGeneratedKeys);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#executeUpdate(java.lang.String, int[])
	 */
	public int executeUpdate(String sql, int[] columnIndexes)
		throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			int ret = mStm.executeUpdate( sql,  columnIndexes);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			SQLLogger.log("error:"+e.toString());
			GSBaseDAO.pushSQLError(e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#executeUpdate(java.lang.String, java.lang.String[])
	 */
	public int executeUpdate(String sql, String[] columnNames)
		throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			int ret = mStm.executeUpdate( sql,  columnNames);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#execute(java.lang.String, int)
	 */
	public boolean execute(String sql, int autoGeneratedKeys)
		throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			boolean ret = mStm.execute( sql, autoGeneratedKeys);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#execute(java.lang.String, int[])
	 */
	public boolean execute(String sql, int[] columnIndexes)
		throws SQLException {
		// TODO Auto-generated method stub
	
		try
		{
			SQLLogger.log(sql);
			boolean ret = mStm.execute( sql,columnIndexes);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#execute(java.lang.String, java.lang.String[])
	 */
	public boolean execute(String sql, String[] columnNames)
		throws SQLException {
		// TODO Auto-generated method stub
		
		try
		{
			SQLLogger.log(sql);
			boolean ret = mStm.execute( sql,columnNames);
			SQLLogger.log("Success");
			return ret ;
		}
		catch(SQLException e)
		{
			GSBaseDAO.pushSQLError(e.toString());
			SQLLogger.log("error:"+e.toString());
			throw e ;
		}
	}

	/* (non-Javadoc)
	 * @see java.sql.Statement#getResultSetHoldability()
	 */
	public int getResultSetHoldability() throws SQLException {
		// TODO Auto-generated method stub
		return mStm.getResultSetHoldability();
	}

}
